package org.example.exam.config;


import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import lombok.extern.slf4j.Slf4j;
import org.example.exam.properties.MinIOProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/***
 * 将 minio 加入到核心容器实现复用
 */
@Slf4j
@Configuration
public class MinioConfiguration {

    @Autowired
    private MinIOProperties properties;


    // 使用@Bean才可以将minio真正的加到核心容器中
    @Bean
    public MinioClient minioClient(){
        // 1、登录端点
        // 构建者模式：就是一种语法结构，可以在创建对象的同时传入必要的参数
        MinioClient minioClient = MinioClient.builder()
                .endpoint(properties.getEndpoint())
                .credentials(properties.getUsername(),properties.getPassword())
                .build();
        log.info("minio文件服务器连接成功！链接对象信息为：{}",minioClient);

        return minioClient;
    }
}
